/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Main;

import java.util.Random;
import ordenacao.HeapSort;
import ordenacao.MergeSort;
import ordenacao.SimpleSort;
import ordenacao.QuickSort;

/**
 *
 * @author Charles Henrique Porto Ferreira
 * @author jurandir Jardin Neto
 */
public class Teste {

   
  

   

    public void executarTeste(int vetor[]) {
        int vetor2[] = new int[vetor.length];
        int vetor3[] = new int[vetor.length];
        int vetor4[] = new int[vetor.length];
        int vetor5[] = new int[vetor.length];
        int vetor6[] = new int[vetor.length];
        System.arraycopy(vetor, 0, vetor2, 0, vetor.length);
        System.arraycopy(vetor, 0, vetor3, 0, vetor.length);
        System.arraycopy(vetor, 0, vetor4, 0, vetor.length);
        System.arraycopy(vetor, 0, vetor5, 0, vetor.length);
        System.arraycopy(vetor, 0, vetor6, 0, vetor.length);

        long tempoInicial = System.currentTimeMillis();
// método que deve ser verificado o tempo de execução  
// 
        long tempoFinal = System.currentTimeMillis();
        System.out.println(tempoFinal - tempoInicial);


        imprimirVetor(vetor, "vetor aleatorio antes do bubble sort");
        SimpleSort.bubbleSort(vetor);
        imprimirVetor(vetor, "vetor ordenado apos o bubble sort\n");
        imprimirVetor(vetor2, "vetor aleatorio antes do selection sort");
        SimpleSort.selectionSort(vetor2);
        imprimirVetor(vetor2, "vetor ordenado apos o selection sort\n");
        imprimirVetor(vetor3, "vetor aleatorio antes do insertion sort");
        SimpleSort.insertionSort(vetor3);
        imprimirVetor(vetor3, "vetor ordenado apos o insertion sort\n");
        imprimirVetor(vetor4, "vetor aleatorio antes do merge sort");
        MergeSort.sort(vetor4);
        imprimirVetor(vetor4, "vetor ordenado apos o merge sort\n");
        imprimirVetor(vetor5, "vetor aleatorio antes do heap sort");
        HeapSort.sort(vetor5);
        imprimirVetor(vetor5, "vetor ordenado apos o heap sort\n");
        imprimirVetor(vetor6, "vetor aleatorio antes do quick sort");
        QuickSort.sort(vetor6);
        imprimirVetor(vetor6, "vetor ordenado apos o quick sort\n");
    }

    public void imprimirVetor(int vetor[], String mensagem) {
        System.out.println(mensagem);
        for (int i = 0; i < vetor.length; i++) {
            if (i % 20 == 0) {
                System.out.println("\n");
            }
            System.out.printf(" " + vetor[i]);
        }
        System.out.println("\n");
    }
}
